#pragma once
#include "importacao.h"
#include "ordenacao.h"

typedef struct{
  FILE *fileBanco;
  FILE *fileIndicePrimario;  
  FILE *fileIndiceSegundarioNome;
  FILE *fileIndiceSegundarioCurso;
  FILE *fileIndiceListaInvertida;
}ArquivosPersistencia;

void gravaRegistroArgBanco(RegAluno regImportacao, FILE *file);

void gravaChavePrimariaArgIndicePrimario(ChavePrimaria chavePrimaria, FILE *file);

void gravaChaveSecundariaNomeCurso(ChaveSecundaria chaveSecundaria, FILE *file);

void gravarListaSegundariaNomeArq(ListaChaveSecundariaNome *inicioListaNome, ArquivosPersistencia *arquivos);

void gravarListaPrimariaArq(ListaChavePrimaria *inicioListaInscricao, ArquivosPersistencia *arquivos);

void gravarElementoListaInvertida(ElementoListaInvertida elemento, FILE *file);

void gravarListaInvertidaArq(ListaInvertida *inicioListaInvertida, ArquivosPersistencia *arquivos);

int distanciaElementoAteComecoListaInvertida(ElementoListaInvertida *elemento);